package com.bdq.content.domain.service;

import com.bdq.content.domain.model.agg.ContentAgg;
import com.bdq.content.domain.model.dto.ContentDetailDomainDTO;
import com.bdq.content.domain.model.dto.ContentListDomainDTO;
import com.bdq.content.domain.model.dto.req.ContentDetailReqDTO;
import com.bdq.content.domain.model.dto.req.ContentListReqDTO;
import com.bdq.content.domain.model.dto.req.ContentPostReqDTO;

import java.util.List;

/**
 * @author malei
 * @date 2024-05-10 17:55
 */
public interface ContentDomainService {

    /**
     * 发布内容
     *
     * @param reqDTO
     * @return
     */
    ContentAgg postContent(ContentPostReqDTO reqDTO);

    /**
     * 内容聚合填充
     *
     * @param contentId
     * @param contentAgg
     */
    void contentAggFill(Long contentId, ContentAgg contentAgg);

    /**
     * 内容详情
     *
     * @param reqDTO
     * @param contentAgg
     * @return
     */
    ContentDetailDomainDTO detail(ContentDetailReqDTO reqDTO, ContentAgg contentAgg);

    /**
     * 列表查询
     *
     * @param reqDTO
     * @return
     */
    List<ContentListDomainDTO> listContent(ContentListReqDTO reqDTO);
}
